package com.mingzhi.lotterysystem.service;

import com.mingzhi.lotterysystem.controller.param.CreateActivityParam;
import com.mingzhi.lotterysystem.controller.param.PageParam;
import com.mingzhi.lotterysystem.service.dto.ActivityDTO;
import com.mingzhi.lotterysystem.service.dto.ActivityDetailDTO;
import com.mingzhi.lotterysystem.service.dto.CreateActivityDTO;
import com.mingzhi.lotterysystem.service.dto.PageListDTO;

public interface ActivityService {

    /**
     * 创建活动
     *
     * @param param
     * @return
     */
    CreateActivityDTO createActivity(CreateActivityParam param);

    /**
     * 翻页查询活动（摘要）列表
     *
     * @param param
     */
    PageListDTO<ActivityDTO> findActivityList(PageParam param);

    /**
     * 根据前端传的活动id查询活动的详细信息
     *
     * @param activityId
     */
    ActivityDetailDTO getActivityDetail(Long activityId);

    /**
     * 更新缓存
     * 缓存活动详细信息（读取表最新的数据，再缓存）
     *
     * @param activityId
     */
    void cacheActivity(Long activityId);
}
